* {
	margin: 0;
	padding: 0;
}

html,
body {
	width: 100%;
	height: 100%;
	background-color: #102626;
	display: flex;
	justify-content: center;
	align-items: center;
}

.wrapper {
	position: relative;
	width: 200px;
	height: 340px;
	background-color: #102626;
}
.wrapper .dot {
	position: relative;
	width: 40px;
	height: 20px;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	border-radius: 4px 4px 0 0;
	background-color: #fff;
}
.wrapper .container {
	position: relative;
	width: 200px;
	height: 320px;
	margin: 0 auto;
	background-color: #fff;
	-webkit-box-reflect: below 10px linear-gradient(to bottom, #102626, #0004);
	border-radius: 8px;
	overflow: hidden;
}

.wrapper .container::after {
	content: "";
	position: absolute;
	top: 90%;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(to top, #479fcd 0%, #479fcd 100%);
	animation: container 10s linear infinite;
}
@keyframes container {
	0% {
		top: 90%;
		filter: hue-rotate(360deg);
	}
	100% {
		top: 0;
		filter: hue-rotate(0deg);
	}
}

.wrapper .container .cover {
	position: absolute;
	width: 200px;
	height: 320px;
	bottom: 0;
	left: 0;
	z-index: 2;
	animation: cover 10s linear infinite;
	transform-origin: center 120px;
}
@keyframes cover {
	0% {
		transform: rotate(0deg);
		bottom: 0;
	}
	25% {
		transform: rotate(180deg);
	}
	50% {
		transform: rotate(360deg);
	}
	75% {
		transform: rotate(540deg);
	}
	100% {
		transform: rotate(720deg);
		bottom: 100%;
	}
}
.wrapper .container .cover::before {
	content: "";
	position: absolute;
	width: 400px;
	height: 400px;
	left: 50%;
	bottom: 0;
	background: rgba(255, 255, 255, 0.5);
	transform: translateX(-50%);
	border-radius: 20% 20%;
}

.wrapper .container .cover::after {
	content: "";
	position: absolute;
	width: 400px;
	height: 400px;
	left: 50%;
	bottom: 0;
	background: #fff;
	transform: translateX(-50%);
	border-radius: 35% 35%;
}
